#if !defined(_CACACHE_H_)
#define _CACACHE_H_

#include "AObject.h"
#if defined(_CC_OLD_)
#include "CCMutableDictionary.h"
#else
#include "CCDictionary.h"
#endif

class CACache : public CAObject
{
protected:
	static CACache* _sharedCache;
	CAStringMap< CAStringMap< CCObject > >* _cache;
protected:
	CACache(void);
public:
	virtual ~CACache(void);
	static CACache& sharedCache();

	CCObject* hit(const char* key, const char* group = NULL);
	void put(const char* key, CCObject* pobj, const char* group = "default");
};

#endif //_CACACHE_H_